package com.ruoyi.form.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.entity.SysDictData;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 【请填写功能名称】对象 ax_model_field
 *
 * @author LZF
 * @date 2025-07-18
 */
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "ax_model_field")
public class AxModelField extends BaseEntity {
private static final long serialVersionUID=1L;
        /** 主键 */
        @TableId(value = "id", type = IdType.ASSIGN_UUID)
        private String id;
        /** 父id */
                @Excel(name = "父id")
        private String parentId;
        /** 排序 */
                @Excel(name = "排序")
        private Long sortNum;
        /** 名称 */
                @Excel(name = "名称")
        private String name;
        /** 属性id */
                @Excel(name = "属性id")
        private String fieldId;
        /** 属性编码 */
                @Excel(name = "属性编码")
        private String fieldCode;
        /** 所属模型id(值为root_all全局检索用) */
                @Excel(name = "所属模型id")
        private String modelId;
        /** 显示位置 （1：基本；2：扩展；3:高级;4:不显示） */
                @Excel(name = "显示位置 ", readConverterExp = "1=：基本；2：扩展；3:高级;4:不显示")
        private String filterPosition;
        /** 是否显示 */
                @Excel(name = "是否显示")
        private String showFlag;
        /** 筛选排序 */
                @Excel(name = "筛选排序")
        private Long filterSortNum;
        /** 输入类型(input:输入框,radio:单选,checkbox:多选,number:数字,number_range:数字范围,date:日期;date_range:日期范围:) */
                @Excel(name = "输入类型(input:输入框,radio:单选,checkbox:多选,number:数字,number_range:数字范围,date:日期;date_range:日期范围:)")
        private String filterType;
        /** 默认筛选多选显示个数 */
                @Excel(name = "默认筛选多选显示个数")
        private Long showNum;
        /** 表单排序 */
                @Excel(name = "表单排序")
        private Long formSortnum;
        /** 列宽 */
                @Excel(name = "列宽")
        private Long colWidth;
        /** $column.columnComment */
                @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private Long colTaskWidth;
        /** $column.columnComment */
                @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
        private Long colDataWidth;
        /** 表单属性显示分组名 */
                @Excel(name = "表单属性显示分组名")
        private String layoutGroupName;
        /** 表单属性所占栅格 */
                @Excel(name = "表单属性所占栅格")
        private Integer layoutColSpan;
        /** 表单属性序号 */
                @Excel(name = "表单属性序号")
        private Integer layoutFieldSortNum;
        /** 表单属性分组每个组的序号 */
                @Excel(name = "表单属性分组每个组的序号")
        private Integer layoutGroupSortNum;
        /** 附属标识，0为模型下的属性，1只做筛选和列表用 */
                @Excel(name = "附属标识，0为模型下的属性，1只做筛选和列表用")
        private String attachFlag;
        /** 筛选项label宽度 */
                @Excel(name = "筛选项label宽度")
        private Long labelWidth;
        /** 筛选项表单元素宽度 */
                @Excel(name = "筛选项表单元素宽度")
        private Long formItemWidth;
        @TableField(exist = false)
        private String formTypeName;
        @TableField(exist = false)
        private String formDictType;
        @TableField(exist = false)
        private List<String> refTableIdList;
        @TableField(exist = false)
        private List<String> filterPositionList;
        @TableField(exist = false)
        private String dataExtend;
        @TableField(exist = false)
        private String basicCode;
        @TableField(exist = false)
        private String basicJavaType;
        @TableField(exist = false)
        private List<SysDictData> dictList;
        @TableField(exist = false)
        private AxField field;
        @TableField(exist = false)
        private List<SysDictData> dictTree;

}